// 从地址栏中获取文章id
var postId = getUrlParams("id");
// 评论是否经过人工审核
var review;

// 向服务器端发送请求 根据文章id获取文章详细信息
$.ajax({
  type: "get",
  url: "/posts/" + postId,
  success: function (response) {
    console.log(response);
    var html = template("postTpl", response);
    $("#postBox").html(html);
    $("#contentHtml")[0].innerHTML = response.content;
  },
});

// 当点赞按钮发生点击事件时
$("#postBox").on("click", "#like", function () {
  // 向服务器端发送请求 执行点赞操作
  $.ajax({
    type: "post",
    url: "/posts/fabulous/" + postId,
    success: function () {
      alert("点赞成功, 感谢您的支持");
      var newCounts = $("#like b").html();
      $("#like b").html(newCounts-0+1);
    },
  });
});

// 获取网站的配置信息
$.ajax({
  type: "get",
  url: "/settings",
  success: function (response) {
    review = response.review;
    // 判断管理员是否开启的评论功能
    if (response.comment) {
      // 管理员开启了评论功能 渲染评论模板
      var html = template("commentTpl");
      // 渲染评论模板
      $("#commentBox").html(html);
      stopCommment();
    }
  },
});

// 若评论内容为空，则进行前端阻断
function stopCommment() {
  var btn1 = document.getElementById("toComments");
  var cont1 = document.getElementById("contentValue");
  btn1.onclick = function (e) {
    //若用户未登录，则需要先进行登录，return false

    if (cont1.value.trim() == "") {
      e.preventDefault();
      alert("请输入评论内容");
      return;
    }
  };
}

// 当评论表单发生提交行为的时候
$("#commentBox").on("submit", "form", function () {
  // 获取用户输入的评论内容

  var content = $(this).find("textarea").val();

  // 代表评论的状态
  var state;

  if (review) {
    // 要经过人工审核
    state = 0;
  } else {
    // 不需要经过人工审核
    state = 1;
  }

  // 向服务器端发送请求 执行添加评论操作
  $.ajax({
    type: "post",
    url: "/comments",
    data: {
      content: content,
      post: postId,
      state: state,
    },
    success: function () {
      alert("评论成功");
      location.reload();
    },
    error: function () {
      alert("评论失败");
    },
  });

  // 阻止表单默认提交行为
  return false;
});

// 向服务器发送请求，获取文章评论列表信息
$.ajax({
  type: "get",
  url: "/comments/" + postId,
  success: function (response) {
    var html = template("commentListTpl", response[0].reverse());
    $("#commentList").html(html);
  },
});
